//普通请求拦截器 不可上传文件 只能做普通请求
async function requestData(url = '', data = [], method = 'get') {
    return new Promise((resolve, reject)=>{
        $.ajax({
            url: url,
            type: method,
            data: data,
            dataType: 'json',
            success:(res) => {
                if(res.code == 200){
                    resolve(res);
                }else{
                    reject(res);
                }
            },
            error:function (res) {
                 switch (res.status) {
                     case 419:
                         alert('登录已过期，请重新登录');
                         window.location.href='/admin/login';
                         break;
                     case 500:
                         alert('服务器内部错误，请稍后再试');
                         break;
                     case 404:
                         alert('访问的数据不存在');
                         break;
                     default:
                         alert(res.responseJSON.msg + '，错误码：' + res.responseJSON.code);
                 }
            }
        });
    })
}



//表单请求拦截器 表单专用，可以上传文件
async function formRequest(url = '', data = [], method = 'get') {
    return new Promise((resolve, reject)=>{
        $.ajax({
            url: url,
            type: method,
            data: data,
            cache: false,//cache设置为false，上传文件不需要缓存。
            contentType: false,//contentType设置为false。因为是由<form>表单构造的FormData对象，且已经声明了属性enctype="multipart/form-data"，所以这里设置为false。
            processData: false,//processData设置为false。因为data值是FormData对象，不需要对数据做处理。
            dataType: 'json',
            success:(res) => {
                if(res.code == 200){
                    resolve(res);
                }else{
                    reject(res);
                }
            },
            error:function (res) {
                switch (res.status) {
                    case 419:
                        alert('登录已过期，请重新登录');
                        window.location.href='/admin/login';
                        break;
                    case 500:
                        alert('服务器内部错误，请稍后再试');
                        break;
                    case 404:
                        alert('访问的数据不存在');
                        break;
                    default:
                        alert(res.responseJSON.msg + '，错误码：' + res.responseJSON.code);
                }
            }
        });
    })
}